import { TableHeader } from "./../views/index/indexTableConfig";
import { TableColumnCtx } from "element-plus/es/components/table/src/table-column/defaults";

export interface ZCTableOption extends Partial<TableColumnCtx<any>> {
  label: string;
  prop?: string;
  // 模糊搜索
  filter?: boolean;
  // 默认时间
  defaultTime?: Date;
  maxlength?: number;
  // 表单类型
  type?: string;
  // 搜索结果
  remoteMethods?: () => Promise<[{ key: any; value: any }]>;
  // 插槽名
  slotName?: string;
  // 是否展示搜索项
  show?: boolean;
  // 是否展示在表单
  isShowForm?: boolean;
  // 增加筛选
  extraSearch?: ZCTableOption[];
  // 下拉选项
  valueEnum?: any[];
  showImage?: boolean;
  // tsx语法
  render?: (scope: { row: any }) => any;
}

/**
 * 配置
 */
export interface ZCTable {
  //表格配置项
  column: ZCTableOption[];
  // 是否显示索引列
  showIndexColumn?: boolean;
  // 是否显示多选框
  showSelectColumn?: boolean;
  // 是否展示搜索栏
  showSearch?: boolean;
  // 是否有子数据，树形数据才用得到
  childrenProps?: object;

  // 分页位置
  paginationAlign?: "right" | "left" | "center";
}
